package tec;

public class JournalAutobus extends Bus implements Transport{
    
    Bus b;
    
    JournalTransport j;
    
    public JournalAutobus(int nbPlaceAssise, int nbPlaceDebout, JournalTransport j, TypeTransport a) {
	this.j=j;
	j.fixerMaxPlace(nbPlaceAssise, nbPlaceDebout);
	if(a == TypeTransport.AUTOBUS)
	    {
		b = new Autobus(nbPlaceAssise,nbPlaceDebout);
	    }
    }
    
    
    public void allerArretSuivant() {
	Transport t = (Transport)b;
	t.allerArretSuivant();
	j.changerArret();
    }
    

    public boolean aPlaceAssise() {
	return b.aPlaceAssise();
    }
    

    public boolean aPlaceDebout() {
	return b.aPlaceDebout();
    }
    

    void demanderChangerEnAssis(Passager p) {
	if(b.aPlaceAssise()) {
	    j.enleverUnDebout();
	}
	b.demanderChangerEnAssis(p);
    }

    
    void demanderChangerEnDebout(Passager p) {
	if(b.aPlaceDebout()) {	    
		j.enleverUnAssis();
	    }
	b.demanderChangerEnDebout(p);
    }
    

    void demanderPlaceAssise(Passager p) {
       	b.demanderPlaceAssise(p);
	j.ajouterUnAssis();
    }

    
    void demanderPlaceDebout(Passager p) {
	b.demanderPlaceDebout(p);
	j.ajouterUnDebout();
    }

    
    void demanderSortie(Passager p) {
	b.demanderSortie(p);
	j.enleverUnPassager();
    }
}
